home *** CD-ROM | disk | FTP | other *** search
/ 100 Plus Great Games 2 / 100PLUSV2.BIN / games / Corners.dxr / Internal_3_misc. handlers.ls < prev    next >
Encoding:
Text File  |  2002-01-25  |  4.6 KB  |  183 lines

  1. global waste, reserve, stock, points, pootimer, win, redeals
  2.  
  3. on reshuffle arg
  4.   sprite(arg).member = member("backofcard", "playing cards")
  5.   sprite(6).member = member("block", "playing cards")
  6.   sprite(5).member = member("block", "playing cards")
  7.   ass = []
  8.   repeat with i = 1 to waste[makesymbol(6)].cards.count
  9.     ass.add([#rank: waste[makesymbol(6)].cards[i].rank, #suit: waste[makesymbol(6)].cards[i].suit])
  10.   end repeat
  11.   waste[makesymbol(6)].cards.deleteAll()
  12.   return ass
  13. end
  14.  
  15. on shuffle
  16.   ranks = ["ace", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "jack", "queen", "king"]
  17.   suits = ["hearts", "diamonds", "clubs", "spades"]
  18.   unshuffledCards = []
  19.   shuffledCards = []
  20.   repeat with rank in ranks
  21.     repeat with suit in suits
  22.       unshuffledCards.add([#rank: rank, #suit: suit])
  23.     end repeat
  24.   end repeat
  25.   repeat while unshuffledCards.count > 0
  26.     shuffledCards.add(unshuffledCards[random(unshuffledCards.count)])
  27.     unshuffledCards.deleteOne(shuffledCards[shuffledCards.count])
  28.   end repeat
  29.   return shuffledCards
  30. end
  31.  
  32. on checkwin
  33.   if points = (48 * 10) then
  34.     win = "yes"
  35.     pootimer = timeout("poo").new(150, #gotoit)
  36.   end if
  37. end
  38.  
  39. on gotoit
  40.   pootimer.forget()
  41.   go("gameover")
  42. end
  43.  
  44. on makesymbol arg
  45.   return string(arg).symbol
  46. end
  47.  
  48. on getlist arg
  49.   if arg = 6 then
  50.     return waste[makesymbol(the clickOn)].getlastcard()
  51.   end if
  52.   if (arg = 8) or (arg = 12) or (arg = 10) or (arg = 14) or (arg = 11) then
  53.     return reserve[makesymbol(arg)].getlastcard()
  54.   end if
  55. end
  56.  
  57. on checklose
  58.   if stock.cards.count = 0 then
  59.     if redeals = 2 then
  60.       repeat with shit in [8, 10, 11, 12, 14]
  61.         if sprite(shit).member.name = "block" then
  62.           next repeat
  63.         end if
  64.         repeat with cakes in [7, 9, 15, 13]
  65.           if (getValue(sprite(shit).member.name) = (getValue(sprite(cakes).member.name) + 1)) and (getSuit(sprite(shit).member.name) = getSuit(sprite(cakes).member.name)) then
  66.             abort()
  67.             next repeat
  68.           end if
  69.           if (getValue(sprite(shit).member.name) = 1) and (getValue(sprite(cakes).member.name) = 13) and (getSuit(sprite(shit).member.name) = getSuit(sprite(cakes).member.name)) then
  70.             abort()
  71.           end if
  72.         end repeat
  73.       end repeat
  74.       win = "no"
  75.       pootimer = timeout("fucked").new(130, #gotoit)
  76.     end if
  77.   end if
  78. end
  79.  
  80. on getValue arg
  81.   if (arg contains "hearts") or (arg contains "spades") then
  82.     return getOff(chars(arg, 1, arg.length - 7))
  83.   else
  84.     if arg contains "diamonds" then
  85.       return getOff(chars(arg, 1, arg.length - 9))
  86.     else
  87.       if arg contains "clubs" then
  88.         return getOff(chars(arg, 1, arg.length - 6))
  89.       end if
  90.     end if
  91.   end if
  92. end
  93.  
  94. on getOff numba
  95.   if numba = "ace" then
  96.     return 1
  97.   else
  98.     if numba = "two" then
  99.       return 2
  100.     else
  101.       if numba = "three" then
  102.         return 3
  103.       else
  104.         if numba = "four" then
  105.           return 4
  106.         else
  107.           if numba = "five" then
  108.             return 5
  109.           else
  110.             if numba = "six" then
  111.               return 6
  112.             else
  113.               if numba = "seven" then
  114.                 return 7
  115.               else
  116.                 if numba = "eight" then
  117.                   return 8
  118.                 else
  119.                   if numba = "nine" then
  120.                     return 9
  121.                   else
  122.                     if numba = "ten" then
  123.                       return 10
  124.                     else
  125.                       if numba = "jack" then
  126.                         return 11
  127.                       else
  128.                         if numba = "queen" then
  129.                           return 12
  130.                         else
  131.                           if numba = "king" then
  132.                             return 13
  133.                           end if
  134.                         end if
  135.                       end if
  136.                     end if
  137.                   end if
  138.                 end if
  139.               end if
  140.             end if
  141.           end if
  142.         end if
  143.       end if
  144.     end if
  145.   end if
  146. end
  147.  
  148. on getSuit arg
  149.   if arg contains "hearts" then
  150.     return #hearts
  151.   else
  152.     if arg contains "diamonds" then
  153.       return #diamonds
  154.     else
  155.       if arg contains "clubs" then
  156.         return #clubs
  157.       else
  158.         if arg contains "spades" then
  159.           return #spades
  160.         end if
  161.       end if
  162.     end if
  163.   end if
  164. end
  165.  
  166. on getSuitCo arg
  167.   if arg contains "hearts" then
  168.     return #red
  169.   else
  170.     if arg contains "diamonds" then
  171.       return #red
  172.     else
  173.       if arg contains "clubs" then
  174.         return #black
  175.       else
  176.         if arg contains "spades" then
  177.           return #black
  178.         end if
  179.       end if
  180.     end if
  181.   end if
  182. end
  183.